# 列表 取值-> 1.index 索引取单个值 2.slice 切片取一些值 还是一个列表

# names = "Alex,Mary,Jack"
# #  int   01234...
# names_list = ["Alex","Mary","Jack"]
# #  index        0      1      2
# print(names[0:4])
# print(names_list[0])

# python中一切都是对象


# 2.列表增加
# 2.1 append() 依次增加元素到list末位
#               一般用来新建列表会使用到
names_J = []
names = ["Mike","Mary","Jan","Jack"] # 双引号里的是字符串 列表的方法会改变原来的列表
names.append("pina")
names.append("wevne")
names.append("pina")

for i in names:
    if i[0] == "J":
        # 列出J 开头的名字
        names_J.append(i)
print("列出J开头的名字:",names_J)
print("使用append三个名字后：",names)


# 2.2 insert() 插入元素 (int,插入的元素)
names.insert(2,"Lihua")
print("插入lihua后：",names)


# 3.删除/移除
# 3.1 remove() 使用remove前应判断是否在list中
names.remove("pina") # 共线删除第一个
print("使用remove删除共线第一个pina",names)


# 3.2 pop() 删除pop()不填内容 对应记忆 ==> append() 删除末位
names.pop()
print("使用pop删除末位：",names)

# 4.index()


# 5.sort()排序 默认从小到大 reverse = Fales(默认) 小-大
#                         reverse = True 大-小


# 6.count() 查看某元素的次数

# 7. clear() 清空list（慎用）

# 8.extend()是有顺序的，操作哪个列表，哪个就先写

# 9.(高级)复制
# 9.1 假复制 用 = 进行赋值 错误的复制列表操作

# 9.2.1 正确的方法1.copy()

# 9.2.2正确的方法2.切片[:]